package ink.charon.novel.service;

import ink.charon.novel.entity.Book;
import ink.charon.novel.entity.SpiderRule;
import ink.charon.novel.entity.SpiderSource;
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.selector.Selectable;

import java.util.List;

public interface BookListSpiderService {

    List<String> listPageUrl(int spiderSourceId, int catId, Site site);

    Selectable genSelectable(Selectable baseSelectable, String... selRules);

    List<Book> getPageBookInfo(Page page, SpiderSource spiderSource, int catId, Site site);

    void getBookDetail(Book book, SpiderRule spiderRule, Site site);

    void getBookIndexAndContent(Book book, SpiderRule spiderRule, Site site);
}
